﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Gruppe1OOPEksamen {

    public abstract class Vare
    {
        // Intans Variabler
        public string _navn;
        public double _pris;

        // Properties
        public string Navn {
            get {
                return _navn;
            }
            set {
                if (string.IsNullOrWhiteSpace(value)) // Der checkes om navnet er tomt
                    // Hvis dette er tilfældet kastes der en Null exception
                    throw new ArgumentNullException("Varen skal have et navn!");
                else
                    _navn = value;
            }
        }

        public double Pris {
            get { 
                return _pris; 
            }
            set {
                if (value < 0) // der checkes om prisen er under nul
                    // Hvis dette er tilfældet kastes der en out of range exception
                    throw new ArgumentOutOfRangeException("Prisen skal være minimum nul!"); 
                else
                    _pris = value;
            }
        }


        #region consturctors
        public Vare(string navnInd, double prisInd) {
            Navn = navnInd;
            Pris = prisInd;
        }
        #endregion

        public override string ToString() {
            string toReturn = "";

            //tilføj navn
            toReturn += "Navn: " + _navn;
            //tilføj pris 
            toReturn += "\nPris: " + _pris + " Kr.";

            return toReturn;
        }
    }
}
